package com.example.app.components


import android.annotation.SuppressLint
import androidx.compose.foundation.clickable
import androidx.compose.material.Text
import androidx.compose.runtime.*
import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview

@SuppressLint("UnrememberedMutableState")
@Composable
fun StateSample() {
    //  mutableStateOf 可观察对象, 使用可以记住值,即便组件重组也不会变动
    // remember使用方式1
//    var count = remember {
//        mutableStateOf(1)
//    }
    // remember使用方式2
    // 使用了by的方式可以不用写value
    // 使用了by返回的是值的类型
    var count by remember {
        mutableStateOf(1)
    }
    Text(text = "${count}只羊", modifier = Modifier.clickable {
        count += 1
    })
}

@Preview(
    showSystemUi = true
)
@Composable
fun StateSamplePreview() {
    StateSample()
}

